package cn.tworice.admin.dao;

import cn.tworice.common.entity.Admin;
import cn.tworice.common.entity.Role;
import cn.tworice.common.entity.Resources;
import cn.tworice.common.entity.RoleResources;
import cn.tworice.common.entity.dto.ResourcesDto;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 系统管理模块持久层
 * @author 二饭
 * @email 1786705138@qq.com
 */
@Repository
public interface SystemDao {

    int insertResource(Resources resources);

    int updateResource(Resources resources);

    Resources queryResourceById(Integer id);

    int delResources(List<Integer> list);

    List<Role> queryRoles();

    List<Admin> queryAdminByRoleId(Integer roleId);

    int queryAdminInRole(String[] adminId, Integer roleId);

    int insertAdminToRole(String[] adminId, Integer roleId);

    void rmAdminToRole(String[] adminIds, Integer roleId);

    List<Admin> queryNoRoleAdmin(int roleId);

    List<Admin> queryAdminByStatus(Integer status);

    List<RoleResources> queryResourcesByRoleId(Integer roleId);

    int insertRoleResources(List<Integer> addResources, Integer roleId);

    int rmRoleResources(List<Integer> rmResources, Integer roleId);

    int delRole(Integer roleId);

    int delRoleResources(Integer roleId);

    int insertRole(String roleName);

    int updateRole(Integer roleId, String roleName);

    List<Admin> queryAdminList();

    void insertAdmin(Admin admin);

    void updateAdmin(Admin admin);

    void delAdmin(String[] ids);

    int updateAdminPwd(Admin admin);

    void insertRoleResource(Integer roleId, Integer[] resourcesId);
}
